Fix fingerprints of build scripts that aren't compiled
authorAlex Crichton <alex@alexcrichton.com>
Sat, 21 Mar 2015 03:08:13 +0000 (20:08 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Sat, 21 Mar 2015 03:08:13 +0000 (20:08 -0700)
src/cargo/ops/cargo_rustc/fingerprint.rs

index a88ad00ae4a1a70ae83db84adb2de06bcb6524d6..bbf1c15e0ba422f14ad2be1b003653fc94452105 100644 (file)
@@ -169,7 +169,11 @@ fn calculate<'a, 'b>(cx: &mut Context<'a, 'b>,
                                    profile));
 
     // Next, recursively calculate the fingerprint for all of our dependencies.
+    // Skip the fingerprints of build scripts as they may not always be
+    // available and the dirtiness propagation for modification is tracked
+    // elsewhere
     let deps = try!(cx.dep_targets(pkg, target, profile).into_iter()
+                      .filter(|&(_, t, _)| !t.is_custom_build())
                       .map(|(pkg, target, profile)| {
         let kind = match kind {
             Kind::Host => Kind::Host,